/*
 * Copyright (c) 2016. For Intelligent Group.
 */

package com.intelligent.ispc.core.service;


import com.intelligent.ispc.core.dto.*;

import java.util.List;

/**
 * Created by Julia.Zhou on 2016/07/15.
 * Updated by Eligi.Ran on 2016/08/30 , updated method from "deleteAllFileDatas()" to "deleteAllFileDatas(String type)"
 */
public interface FileDataService {

    void createFileData(FileDataDto fileDataDto);

    void importSpcData(List<KeyValueDto> filePath);

    void importGrrData(List<KeyValueDto> filePath, String dimension);

    List<FileDataDto> reloadData(String type);

    void updateFileData(FileDataDto fileDataDto);

    void updateGrrFileData(FileDataDto fileDataDto);

    void updateSpcFileDatas(List<FileDataDto> fileDataDtos);

    void deleteFileDataByName(String name, String type);

    void deleteFileDataByNames(List<String> names, String type);

    void deleteAllFileDatas(String type);

    FileDataDto findById(Long id);

    FileDataDto findFileDataByNameAndType(String name, String type);

    List<FileDataDto> findFileData(String type);

    List<FileDataDto> validateFileName(List<String> names, String dataType);

}
